#pragma once

#include <cstdint>
#include <map>

namespace pimoroni {

  static const uint8_t DOT_CHAR_WIDTH = 5;

  struct DotChar {
    uint16_t code;
    uint8_t data[DOT_CHAR_WIDTH];
  };

  static const DotChar dotfont[] = {
    {32, {0x00, 0x00, 0x00, 0x00, 0x00}},   // (space)
    {33, {0x00, 0x00, 0x5f, 0x00, 0x00}},   // !
    {34, {0x00, 0x07, 0x00, 0x07, 0x00}},   // "
    {35, {0x14, 0x7f, 0x14, 0x7f, 0x14}},   // #
    {36, {0x24, 0x2a, 0x7f, 0x2a, 0x12}},   // $
    {37, {0x23, 0x13, 0x08, 0x64, 0x62}},   // %
    {38, {0x36, 0x49, 0x55, 0x22, 0x50}},   // &
    {39, {0x00, 0x05, 0x03, 0x00, 0x00}},   // '
    {40, {0x00, 0x1c, 0x22, 0x41, 0x00}},   // (
    {41, {0x00, 0x41, 0x22, 0x1c, 0x00}},   // )
    {42, {0x08, 0x2a, 0x1c, 0x2a, 0x08}},   // *
    {43, {0x08, 0x08, 0x3e, 0x08, 0x08}},   // +
    {44, {0x00, 0x50, 0x30, 0x00, 0x00}},   // ,
    {45, {0x08, 0x08, 0x08, 0x08, 0x08}},   // -
    {46, {0x00, 0x60, 0x60, 0x00, 0x00}},   // .
    {47, {0x20, 0x10, 0x08, 0x04, 0x02}},   // /
    {48, {0x3e, 0x51, 0x49, 0x45, 0x3e}},   // 0
    {49, {0x00, 0x42, 0x7f, 0x40, 0x00}},   // 1
    {50, {0x42, 0x61, 0x51, 0x49, 0x46}},   // 2
    {51, {0x21, 0x41, 0x45, 0x4b, 0x31}},   // 3
    {52, {0x18, 0x14, 0x12, 0x7f, 0x10}},   // 4
    {53, {0x27, 0x45, 0x45, 0x45, 0x39}},   // 5
    {54, {0x3c, 0x4a, 0x49, 0x49, 0x30}},   // 6
    {55, {0x01, 0x71, 0x09, 0x05, 0x03}},   // 7
    {56, {0x36, 0x49, 0x49, 0x49, 0x36}},   // 8
    {57, {0x06, 0x49, 0x49, 0x29, 0x1e}},   // 9
    {58, {0x00, 0x36, 0x36, 0x00, 0x00}},   // :
    {59, {0x00, 0x56, 0x36, 0x00, 0x00}},   // ;
    {60, {0x00, 0x08, 0x14, 0x22, 0x41}},   // <
    {61, {0x14, 0x14, 0x14, 0x14, 0x14}},   // =
    {62, {0x41, 0x22, 0x14, 0x08, 0x00}},   // >
    {63, {0x02, 0x01, 0x51, 0x09, 0x06}},   // ?
    {64, {0x32, 0x49, 0x79, 0x41, 0x3e}},   // @
    {65, {0x7e, 0x11, 0x11, 0x11, 0x7e}},   // A
    {66, {0x7f, 0x49, 0x49, 0x49, 0x36}},   // B
    {67, {0x3e, 0x41, 0x41, 0x41, 0x22}},   // C
    {68, {0x7f, 0x41, 0x41, 0x22, 0x1c}},   // D
    {69, {0x7f, 0x49, 0x49, 0x49, 0x41}},   // E
    {70, {0x7f, 0x09, 0x09, 0x01, 0x01}},   // F
    {71, {0x3e, 0x41, 0x41, 0x51, 0x32}},   // G
    {72, {0x7f, 0x08, 0x08, 0x08, 0x7f}},   // H
    {73, {0x00, 0x41, 0x7f, 0x41, 0x00}},   // I
    {74, {0x20, 0x40, 0x41, 0x3f, 0x01}},   // J
    {75, {0x7f, 0x08, 0x14, 0x22, 0x41}},   // K
    {76, {0x7f, 0x40, 0x40, 0x40, 0x40}},   // L
    {77, {0x7f, 0x02, 0x04, 0x02, 0x7f}},   // M
    {78, {0x7f, 0x04, 0x08, 0x10, 0x7f}},   // N
    {79, {0x3e, 0x41, 0x41, 0x41, 0x3e}},   // O
    {80, {0x7f, 0x09, 0x09, 0x09, 0x06}},   // P
    {81, {0x3e, 0x41, 0x51, 0x21, 0x5e}},   // Q
    {82, {0x7f, 0x09, 0x19, 0x29, 0x46}},   // R
    {83, {0x46, 0x49, 0x49, 0x49, 0x31}},   // S
    {84, {0x01, 0x01, 0x7f, 0x01, 0x01}},   // T
    {85, {0x3f, 0x40, 0x40, 0x40, 0x3f}},   // U
    {86, {0x1f, 0x20, 0x40, 0x20, 0x1f}},   // V
    {87, {0x7f, 0x20, 0x18, 0x20, 0x7f}},   // W
    {88, {0x63, 0x14, 0x08, 0x14, 0x63}},   // X
    {89, {0x03, 0x04, 0x78, 0x04, 0x03}},   // Y
    {90, {0x61, 0x51, 0x49, 0x45, 0x43}},   // Z
    {91, {0x00, 0x00, 0x7f, 0x41, 0x41}},   // [
    {92, {0x02, 0x04, 0x08, 0x10, 0x20}},   // "\"
    {93, {0x41, 0x41, 0x7f, 0x00, 0x00}},   // ]
    {94, {0x04, 0x02, 0x01, 0x02, 0x04}},   // ^
    {95, {0x40, 0x40, 0x40, 0x40, 0x40}},   // _
    {96, {0x00, 0x01, 0x02, 0x04, 0x00}},   // `
    {97, {0x20, 0x54, 0x54, 0x54, 0x78}},   // a
    {98, {0x7f, 0x48, 0x44, 0x44, 0x38}},   // b
    {99, {0x38, 0x44, 0x44, 0x44, 0x20}},   // c
    {100, {0x38, 0x44, 0x44, 0x48, 0x7f}},   // d
    {101, {0x38, 0x54, 0x54, 0x54, 0x18}},   // e
    {102, {0x08, 0x7e, 0x09, 0x01, 0x02}},   // f
    {103, {0x08, 0x14, 0x54, 0x54, 0x3c}},   // g
    {104, {0x7f, 0x08, 0x04, 0x04, 0x78}},   // h
    {105, {0x00, 0x44, 0x7d, 0x40, 0x00}},   // i
    {106, {0x20, 0x40, 0x44, 0x3d, 0x00}},   // j
    {107, {0x00, 0x7f, 0x10, 0x28, 0x44}},   // k
    {108, {0x00, 0x41, 0x7f, 0x40, 0x00}},   // l
    {109, {0x7c, 0x04, 0x18, 0x04, 0x78}},   // m
    {110, {0x7c, 0x08, 0x04, 0x04, 0x78}},   // n
    {111, {0x38, 0x44, 0x44, 0x44, 0x38}},   // o
    {112, {0x7c, 0x14, 0x14, 0x14, 0x08}},   // p
    {113, {0x08, 0x14, 0x14, 0x18, 0x7c}},   // q
    {114, {0x7c, 0x08, 0x04, 0x04, 0x08}},   // r
    {115, {0x48, 0x54, 0x54, 0x54, 0x20}},   // s
    {116, {0x04, 0x3f, 0x44, 0x40, 0x20}},   // t
    {117, {0x3c, 0x40, 0x40, 0x20, 0x7c}},   // u
    {118, {0x1c, 0x20, 0x40, 0x20, 0x1c}},   // v
    {119, {0x3c, 0x40, 0x30, 0x40, 0x3c}},   // w
    {120, {0x44, 0x28, 0x10, 0x28, 0x44}},   // x
    {121, {0x0c, 0x50, 0x50, 0x50, 0x3c}},   // y
    {122, {0x44, 0x64, 0x54, 0x4c, 0x44}},   // z
    {123, {0x00, 0x08, 0x36, 0x41, 0x00}},   // {
    {124, {0x00, 0x00, 0x7f, 0x00, 0x00}},   // |
    {125, {0x00, 0x41, 0x36, 0x08, 0x00}},   // }
    {126, {0x08, 0x08, 0x2a, 0x1c, 0x08}},   // ~

    {8221, {0x00, 0x07, 0x00, 0x07, 0x00}},   // ”
    {8592, {0x08, 0x1C, 0x2A, 0x08, 0x08}},   // ←
    {8593, {0x08, 0x04, 0x7E, 0x04, 0x08}},   // ↑
    {8594, {0x08, 0x08, 0x2A, 0x1C, 0x08}},   // →
    {8595, {0x08, 0x10, 0x3F, 0x10, 0x08}},   // ↓
    {9472, {0x08, 0x08, 0x08, 0x08, 0x08}},   // ─
    {9474, {0x00, 0x00, 0x7F, 0x00, 0x00}},   // │
    {9484, {0x00, 0x00, 0x78, 0x08, 0x08}},   // ┌
    {9488, {0x08, 0x08, 0x78, 0x00, 0x00}},   // ┐
    {9492, {0x00, 0x00, 0x0F, 0x08, 0x08}},   // └
    {9496, {0x08, 0x08, 0x0F, 0x00, 0x00}},   // ┘
    {9500, {0x00, 0x00, 0x7F, 0x08, 0x08}},   // ├
    {9508, {0x08, 0x08, 0x7F, 0x00, 0x00}},   // ┤
    {9516, {0x08, 0x08, 0x78, 0x08, 0x08}},   // ┬
    {9524, {0x08, 0x08, 0x0F, 0x08, 0x08}},   // ┴
    {9532, {0x08, 0x08, 0x7F, 0x08, 0x08}},   // ┼
    {9632, {0x7F, 0x7F, 0x7F, 0x7F, 0x7F}},   // ■
    {9633, {0x7F, 0x41, 0x41, 0x41, 0x7F}},   // □
    {9650, {0x10, 0x1C, 0x1E, 0x1C, 0x10}},   // ▲
    {9651, {0x10, 0x1C, 0x12, 0x1C, 0x10}},   // △
    {9660, {0x04, 0x1C, 0x3C, 0x1C, 0x04}},   // ▼
    {9661, {0x04, 0x1C, 0x24, 0x1C, 0x04}},   // ▽
    {9670, {0x08, 0x1C, 0x3E, 0x1C, 0x08}},   // ◆
    {9675, {0x1C, 0x22, 0x22, 0x22, 0x1C}},   // ○
    {9679, {0x1C, 0x3E, 0x3E, 0x3E, 0x1C}},   // ●
    {9733, {0x64, 0x3E, 0x1F, 0x3E, 0x64}},   // ★
    {12288, {0x00, 0x00, 0x00, 0x00, 0x00}},   //
    {12289, {0x10, 0x20, 0x40, 0x00, 0x00}},   // 、
    {12290, {0x70, 0x50, 0x70, 0x00, 0x00}},   // 。
    {12300, {0x00, 0x0F, 0x01, 0x01, 0x01}},   // 「
    {12301, {0x40, 0x40, 0x40, 0x78, 0x00}},   // 」
    {12316, {0x02, 0x01, 0x02, 0x04, 0x02}},   // 〜
    {12353, {0x28, 0x58, 0x3C, 0x68, 0x00}},   // ぁ
    {12354, {0x32, 0x7A, 0x2F, 0x1A, 0x72}},   // あ
    {12355, {0x38, 0x40, 0x08, 0x30, 0x00}},   // ぃ
    {12356, {0x3E, 0x40, 0x20, 0x00, 0x1C}},   // い
    {12357, {0x10, 0x0C, 0x4C, 0x30, 0x00}},   // ぅ
    {12358, {0x04, 0x05, 0x45, 0x25, 0x18}},   // う
    {12359, {0x48, 0x2C, 0x5C, 0x48, 0x00}},   // ぇ
    {12360, {0x44, 0x24, 0x35, 0x4D, 0x44}},   // え
    {12361, {0x68, 0x7C, 0x10, 0x64, 0x00}},   // ぉ
    {12362, {0x32, 0x7F, 0x0A, 0x48, 0x32}},   // お
    {12363, {0x34, 0x0F, 0x44, 0x38, 0x06}},   // か
    {12365, {0x22, 0x4A, 0x4F, 0x5A, 0x08}},   // き
    {12367, {0x00, 0x18, 0x24, 0x43, 0x00}},   // く
    {12369, {0x3E, 0x00, 0x44, 0x3F, 0x04}},   // け
    {12371, {0x22, 0x52, 0x42, 0x42, 0x44}},   // こ
    {12373, {0x24, 0x44, 0x47, 0x5C, 0x12}},   // さ
    {12375, {0x3F, 0x40, 0x40, 0x20, 0x10}},   // し
    {12377, {0x02, 0x0A, 0x56, 0x3F, 0x02}},   // す
    {12379, {0x04, 0x3E, 0x44, 0x5F, 0x44}},   // せ
    {12381, {0x08, 0x2D, 0x5B, 0x45, 0x44}},   // そ
    {12383, {0x72, 0x0F, 0x22, 0x4A, 0x48}},   // た
    {12385, {0x0A, 0x0E, 0x4B, 0x4A, 0x32}},   // ち
    {12387, {0x08, 0x48, 0x48, 0x30, 0x00}},   // っ
    {12388, {0x02, 0x02, 0x42, 0x22, 0x1C}},   // つ
    {12390, {0x02, 0x32, 0x4A, 0x46, 0x42}},   // て
    {12392, {0x30, 0x4B, 0x44, 0x44, 0x42}},   // と
    {12394, {0x0A, 0x27, 0x52, 0x38, 0x26}},   // な
    {12395, {0x3E, 0x00, 0x22, 0x42, 0x42}},   // に
    {12396, {0x38, 0x6F, 0x1C, 0x67, 0x78}},   // ぬ
    {12397, {0x12, 0x7F, 0x0A, 0x64, 0x78}},   // ね
    {12398, {0x3C, 0x62, 0x1E, 0x44, 0x38}},   // の
    {12399, {0x3E, 0x00, 0x32, 0x7F, 0x22}},   // は
    {12402, {0x04, 0x3E, 0x40, 0x47, 0x3C}},   // ひ
    {12405, {0x30, 0x05, 0x7A, 0x00, 0x38}},   // ふ
    {12411, {0x3E, 0x00, 0x35, 0x7F, 0x25}},   // ほ
    {12414, {0x2A, 0x5A, 0x7F, 0x2A, 0x4A}},   // ま
    {12415, {0x71, 0x3F, 0x08, 0x7E, 0x08}},   // み
    {12416, {0x1A, 0x3F, 0x42, 0x40, 0x26}},   // む
    {12417, {0x38, 0x4E, 0x34, 0x1F, 0x78}},   // め
    {12418, {0x14, 0x3F, 0x54, 0x40, 0x20}},   // も
    {12419, {0x1C, 0x68, 0x0C, 0x30, 0x00}},   // ゃ
    {12420, {0x04, 0x7F, 0x04, 0x2E, 0x18}},   // や
    {12421, {0x18, 0x50, 0x3C, 0x18, 0x00}},   // ゅ
    {12422, {0x1E, 0x44, 0x3F, 0x12, 0x0C}},   // ゆ
    {12423, {0x60, 0x7C, 0x28, 0x40, 0x00}},   // ょ
    {12424, {0x20, 0x50, 0x3F, 0x24, 0x44}},   // よ
    {12425, {0x10, 0x0D, 0x49, 0x4A, 0x30}},   // ら
    {12426, {0x0E, 0x00, 0x40, 0x21, 0x1E}},   // り
    {12427, {0x20, 0x55, 0x65, 0x4B, 0x30}},   // る
    {12428, {0x34, 0x7F, 0x04, 0x3E, 0x40}},   // れ
    {12429, {0x10, 0x49, 0x4D, 0x4B, 0x30}},   // ろ
    {12431, {0x24, 0x7F, 0x0A, 0x44, 0x38}},   // わ
    {12434, {0x22, 0x5F, 0x4A, 0x56, 0x42}},   // を
    {12435, {0x70, 0x0F, 0x30, 0x40, 0x20}},   // ん
    {12443, {0x02, 0x04, 0x01, 0x02, 0x00}},   // ゛
    {12444, {0x07, 0x05, 0x07, 0x00, 0x00}},   // ゜
    {12449, {0x44, 0x44, 0x3C, 0x14, 0x0C}},   // ァ
    {12450, {0x42, 0x42, 0x3A, 0x12, 0x0E}},   // ア
    {12451, {0x20, 0x10, 0x78, 0x04, 0x00}},   // ィ
    {12452, {0x10, 0x08, 0x04, 0x7E, 0x01}},   // イ
    {12453, {0x18, 0x08, 0x4C, 0x48, 0x38}},   // ゥ
    {12454, {0x0E, 0x42, 0x43, 0x22, 0x1E}},   // ウ
    {12455, {0x48, 0x48, 0x78, 0x48, 0x48}},   // ェ
    {12456, {0x42, 0x42, 0x7E, 0x42, 0x42}},   // エ
    {12457, {0x48, 0x38, 0x08, 0x7C, 0x08}},   // ォ
    {12458, {0x22, 0x12, 0x0A, 0x7F, 0x02}},   // オ
    {12459, {0x42, 0x3F, 0x02, 0x02, 0x7E}},   // カ
    {12461, {0x0A, 0x0A, 0x7F, 0x0A, 0x0A}},   // キ
    {12463, {0x08, 0x06, 0x42, 0x22, 0x1E}},   // ク
    {12465, {0x0F, 0x42, 0x42, 0x3E, 0x02}},   // ケ
    {12467, {0x42, 0x42, 0x42, 0x42, 0x7E}},   // コ
    {12469, {0x02, 0x4F, 0x42, 0x3F, 0x02}},   // サ
    {12471, {0x4A, 0x4A, 0x40, 0x20, 0x1C}},   // シ
    {12473, {0x42, 0x22, 0x12, 0x2A, 0x46}},   // ス
    {12475, {0x02, 0x3F, 0x42, 0x42, 0x4E}},   // セ
    {12477, {0x06, 0x48, 0x40, 0x30, 0x0E}},   // ソ
    {12479, {0x08, 0x4E, 0x52, 0x32, 0x0E}},   // タ
    {12481, {0x08, 0x4A, 0x4A, 0x3F, 0x09}},   // チ
    {12483, {0x18, 0x40, 0x58, 0x40, 0x30}},   // ッ
    {12484, {0x0E, 0x40, 0x4E, 0x20, 0x1E}},   // ツ
    {12486, {0x04, 0x45, 0x45, 0x3D, 0x04}},   // テ
    {12488, {0x00, 0x7F, 0x08, 0x10, 0x10}},   // ト
    {12490, {0x44, 0x44, 0x44, 0x3F, 0x04}},   // ナ
    {12491, {0x40, 0x42, 0x42, 0x42, 0x40}},   // ニ
    {12492, {0x42, 0x4A, 0x2A, 0x12, 0x2E}},   // ヌ
    {12493, {0x22, 0x12, 0x73, 0x0A, 0x16}},   // ネ
    {12494, {0x40, 0x40, 0x20, 0x10, 0x0E}},   // ノ
    {12495, {0x70, 0x0E, 0x00, 0x07, 0x78}},   // ハ
    {12498, {0x3F, 0x44, 0x44, 0x44, 0x44}},   // ヒ
    {12501, {0x02, 0x42, 0x42, 0x22, 0x1E}},   // フ
    {12504, {0x08, 0x04, 0x02, 0x0C, 0x30}},   // ヘ
    {12507, {0x32, 0x02, 0x7F, 0x02, 0x32}},   // ホ
    {12510, {0x02, 0x12, 0x22, 0x52, 0x0E}},   // マ
    {12511, {0x20, 0x2A, 0x2A, 0x2A, 0x40}},   // ミ
    {12512, {0x30, 0x2C, 0x22, 0x28, 0x70}},   // ム
    {12513, {0x40, 0x44, 0x28, 0x10, 0x2E}},   // メ
    {12514, {0x0A, 0x0A, 0x3E, 0x4A, 0x4A}},   // モ
    {12515, {0x08, 0x7C, 0x08, 0x28, 0x18}},   // ャ
    {12516, {0x04, 0x7F, 0x04, 0x14, 0x0C}},   // ヤ
    {12517, {0x48, 0x48, 0x48, 0x78, 0x40}},   // ュ
    {12518, {0x42, 0x42, 0x42, 0x7E, 0x40}},   // ユ
    {12519, {0x54, 0x54, 0x54, 0x7C, 0x00}},   // ョ
    {12520, {0x4A, 0x4A, 0x4A, 0x4A, 0x7E}},   // ヨ
    {12521, {0x04, 0x45, 0x45, 0x25, 0x1C}},   // ラ
    {12522, {0x0E, 0x40, 0x40, 0x20, 0x1E}},   // リ
    {12523, {0x7E, 0x00, 0x7E, 0x40, 0x38}},   // ル
    {12524, {0x7E, 0x40, 0x40, 0x20, 0x10}},   // レ
    {12525, {0x7E, 0x42, 0x42, 0x42, 0x7E}},   // ロ
    {12527, {0x0E, 0x42, 0x42, 0x22, 0x1E}},   // ワ
    {12530, {0x0A, 0x4A, 0x4A, 0x2A, 0x1E}},   // ヲ
    {12531, {0x42, 0x42, 0x40, 0x20, 0x1C}},   // ン
    {12539, {0x00, 0x00, 0x08, 0x00, 0x00}},   // ・
    {12540, {0x04, 0x08, 0x08, 0x08, 0x08}},   // ー
    {65281, {0x00, 0x00, 0x5F, 0x00, 0x00}},   // ！
    {65283, {0x14, 0x7F, 0x14, 0x7F, 0x14}},   // ＃
    {65284, {0x24, 0x2A, 0x7F, 0x2A, 0x12}},   // ＄
    {65285, {0x23, 0x13, 0x08, 0x64, 0x62}},   // ％
    {65286, {0x36, 0x49, 0x56, 0x20, 0x50}},   // ＆
    {65288, {0x00, 0x1C, 0x22, 0x41, 0x00}},   // （
    {65289, {0x00, 0x41, 0x22, 0x1C, 0x00}},   // ）
    {65290, {0x2A, 0x1C, 0x3E, 0x1C, 0x2A}},   // ＊
    {65291, {0x08, 0x08, 0x3E, 0x08, 0x08}},   // ＋
    {65292, {0x00, 0x10, 0x30, 0x00, 0x00}},   // ，
    {65294, {0x00, 0x60, 0x60, 0x00, 0x00}},   // ．
    {65295, {0x20, 0x10, 0x08, 0x04, 0x02}},   // ／
    {65296, {0x3E, 0x51, 0x49, 0x45, 0x3E}},   // ０
    {65297, {0x42, 0x42, 0x7F, 0x40, 0x40}},   // １
    {65298, {0x42, 0x61, 0x51, 0x49, 0x46}},   // ２
    {65299, {0x22, 0x41, 0x49, 0x49, 0x36}},   // ３
    {65300, {0x38, 0x24, 0x22, 0x7F, 0x20}},   // ４
    {65301, {0x2F, 0x45, 0x45, 0x45, 0x39}},   // ５
    {65302, {0x3C, 0x4A, 0x49, 0x49, 0x30}},   // ６
    {65303, {0x03, 0x01, 0x79, 0x05, 0x03}},   // ７
    {65304, {0x36, 0x49, 0x49, 0x49, 0x36}},   // ８
    {65305, {0x06, 0x49, 0x49, 0x49, 0x3E}},   // ９
    {65306, {0x00, 0x00, 0x12, 0x00, 0x00}},   // ：
    {65307, {0x00, 0x40, 0x32, 0x00, 0x00}},   // ；
    {65308, {0x08, 0x14, 0x22, 0x41, 0x00}},   // ＜
    {65309, {0x14, 0x14, 0x14, 0x14, 0x14}},   // ＝
    {65310, {0x00, 0x41, 0x22, 0x14, 0x08}},   // ＞
    {65311, {0x02, 0x01, 0x51, 0x09, 0x06}},   // ？
    {65312, {0x1C, 0x22, 0x49, 0x55, 0x4E}},   // ＠
    {65313, {0x7C, 0x12, 0x11, 0x12, 0x7C}},   // Ａ
    {65314, {0x7F, 0x49, 0x49, 0x49, 0x36}},   // Ｂ
    {65315, {0x3E, 0x41, 0x41, 0x41, 0x22}},   // Ｃ
    {65316, {0x7F, 0x41, 0x41, 0x22, 0x1C}},   // Ｄ
    {65317, {0x7F, 0x49, 0x49, 0x49, 0x41}},   // Ｅ
    {65318, {0x7F, 0x09, 0x09, 0x09, 0x01}},   // Ｆ
    {65319, {0x3E, 0x41, 0x49, 0x49, 0x79}},   // Ｇ
    {65320, {0x7F, 0x08, 0x08, 0x08, 0x7F}},   // Ｈ
    {65321, {0x00, 0x41, 0x7F, 0x41, 0x00}},   // Ｉ
    {65322, {0x20, 0x40, 0x41, 0x3F, 0x01}},   // Ｊ
    {65323, {0x7F, 0x08, 0x14, 0x22, 0x41}},   // Ｋ
    {65324, {0x7F, 0x40, 0x40, 0x40, 0x40}},   // Ｌ
    {65325, {0x7F, 0x02, 0x04, 0x02, 0x7F}},   // Ｍ
    {65326, {0x7F, 0x02, 0x04, 0x08, 0x7F}},   // Ｎ
    {65327, {0x3E, 0x41, 0x41, 0x41, 0x3E}},   // Ｏ
    {65328, {0x7F, 0x09, 0x09, 0x09, 0x06}},   // Ｐ
    {65329, {0x3E, 0x41, 0x51, 0x21, 0x5E}},   // Ｑ
    {65330, {0x7F, 0x09, 0x19, 0x29, 0x46}},   // Ｒ
    {65331, {0x26, 0x49, 0x49, 0x49, 0x32}},   // Ｓ
    {65332, {0x01, 0x01, 0x7F, 0x01, 0x01}},   // Ｔ
    {65333, {0x3F, 0x40, 0x40, 0x40, 0x3F}},   // Ｕ
    {65334, {0x07, 0x18, 0x60, 0x18, 0x07}},   // Ｖ
    {65335, {0x7F, 0x20, 0x10, 0x20, 0x7F}},   // Ｗ
    {65336, {0x63, 0x14, 0x08, 0x14, 0x63}},   // Ｘ
    {65337, {0x03, 0x04, 0x78, 0x04, 0x03}},   // Ｙ
    {65338, {0x61, 0x51, 0x49, 0x45, 0x43}},   // Ｚ
    {65339, {0x00, 0x7F, 0x41, 0x41, 0x00}},   // ［
    {65340, {0x02, 0x04, 0x08, 0x10, 0x20}},   // ＼
    {65341, {0x00, 0x41, 0x41, 0x7F, 0x00}},   // ］
    {65342, {0x04, 0x02, 0x01, 0x02, 0x04}},   // ＾
    {65343, {0x40, 0x40, 0x40, 0x40, 0x40}},   // ＿
    {65344, {0x00, 0x01, 0x02, 0x00, 0x00}},   // ｀
    {65345, {0x24, 0x54, 0x54, 0x54, 0x78}},   // ａ
    {65346, {0x7F, 0x44, 0x44, 0x44, 0x38}},   // ｂ
    {65347, {0x38, 0x44, 0x44, 0x44, 0x44}},   // ｃ
    {65348, {0x38, 0x44, 0x44, 0x44, 0x7F}},   // ｄ
    {65349, {0x38, 0x54, 0x54, 0x54, 0x18}},   // ｅ
    {65350, {0x08, 0x08, 0x7E, 0x09, 0x09}},   // ｆ
    {65351, {0x0C, 0x52, 0x52, 0x52, 0x3E}},   // ｇ
    {65352, {0x7F, 0x08, 0x04, 0x04, 0x78}},   // ｈ
    {65353, {0x00, 0x44, 0x7D, 0x40, 0x00}},   // ｉ
    {65354, {0x20, 0x40, 0x40, 0x44, 0x3D}},   // ｊ
    {65355, {0x7F, 0x20, 0x10, 0x28, 0x44}},   // ｋ
    {65356, {0x00, 0x41, 0x7F, 0x40, 0x00}},   // ｌ
    {65357, {0x7C, 0x04, 0x7C, 0x04, 0x78}},   // ｍ
    {65358, {0x7C, 0x04, 0x04, 0x04, 0x78}},   // ｎ
    {65359, {0x38, 0x44, 0x44, 0x44, 0x38}},   // ｏ
    {65360, {0x7E, 0x12, 0x12, 0x12, 0x0C}},   // ｐ
    {65361, {0x0C, 0x12, 0x12, 0x12, 0x7E}},   // ｑ
    {65362, {0x7C, 0x08, 0x04, 0x04, 0x08}},   // ｒ
    {65363, {0x48, 0x54, 0x54, 0x54, 0x24}},   // ｓ
    {65364, {0x04, 0x04, 0x3F, 0x44, 0x44}},   // ｔ
    {65365, {0x3C, 0x40, 0x40, 0x40, 0x7C}},   // ｕ
    {65366, {0x1C, 0x20, 0x40, 0x20, 0x1C}},   // ｖ
    {65367, {0x3C, 0x40, 0x38, 0x40, 0x3C}},   // ｗ
    {65368, {0x44, 0x28, 0x10, 0x28, 0x44}},   // ｘ
    {65369, {0x0E, 0x50, 0x50, 0x50, 0x3E}},   // ｙ
    {65370, {0x44, 0x64, 0x54, 0x4C, 0x44}},   // ｚ
    {65371, {0x00, 0x08, 0x36, 0x41, 0x41}},   // ｛
    {65372, {0x00, 0x00, 0x77, 0x00, 0x00}},   // ｜
    {65373, {0x41, 0x41, 0x36, 0x08, 0x00}},   // ｝
    {65374, {0x08, 0x04, 0x08, 0x10, 0x08}},   // ～
    {65383, {0x44, 0x44, 0x3C, 0x14, 0x0C}},   // ｧ
    {65384, {0x42, 0x42, 0x3A, 0x12, 0x0E}},   // ｨ
    {65385, {0x20, 0x10, 0x78, 0x04, 0x00}},   // ｩ
    {65386, {0x10, 0x08, 0x04, 0x7E, 0x01}},   // ｪ
    {65387, {0x18, 0x08, 0x4C, 0x48, 0x38}},   // ｫ
    {65388, {0x0E, 0x42, 0x43, 0x22, 0x1E}},   // ｬ
    {65389, {0x48, 0x48, 0x78, 0x48, 0x48}},   // ｭ
    {65390, {0x42, 0x42, 0x7E, 0x42, 0x42}},   // ｮ
    {65391, {0x48, 0x38, 0x08, 0x7C, 0x08}},   // ｯ
    {65392, {0x22, 0x12, 0x0A, 0x7F, 0x02}},   // ｰ
    {65393, {0x42, 0x3F, 0x02, 0x02, 0x7E}},   // ｱ
    {65394, {0x0A, 0x0A, 0x7F, 0x0A, 0x0A}},   // ｲ
    {65395, {0x08, 0x06, 0x42, 0x22, 0x1E}},   // ｳ
    {65396, {0x0F, 0x42, 0x42, 0x3E, 0x02}},   // ｴ
    {65397, {0x42, 0x42, 0x42, 0x42, 0x7E}},   // ｵ
    {65398, {0x02, 0x4F, 0x42, 0x3F, 0x02}},   // ｶ
    {65399, {0x4A, 0x4A, 0x40, 0x20, 0x1C}},   // ｷ
    {65400, {0x42, 0x22, 0x12, 0x2A, 0x46}},   // ｸ
    {65401, {0x02, 0x3F, 0x42, 0x42, 0x4E}},   // ｹ
    {65402, {0x06, 0x48, 0x40, 0x30, 0x0E}},   // ｺ
    {65403, {0x08, 0x4E, 0x52, 0x32, 0x0E}},   // ｻ
    {65404, {0x08, 0x4A, 0x4A, 0x3F, 0x09}},   // ｼ
    {65405, {0x18, 0x40, 0x58, 0x40, 0x30}},   // ｽ
    {65406, {0x0E, 0x40, 0x4E, 0x20, 0x1E}},   // ｾ
    {65407, {0x04, 0x45, 0x45, 0x3D, 0x04}},   // ｿ
    {65408, {0x00, 0x7F, 0x08, 0x10, 0x10}},   // ﾀ
    {65409, {0x44, 0x44, 0x44, 0x3F, 0x04}},   // ﾁ
    {65410, {0x40, 0x42, 0x42, 0x42, 0x40}},   // ﾂ
    {65411, {0x42, 0x4A, 0x2A, 0x12, 0x2E}},   // ﾃ
    {65412, {0x22, 0x12, 0x73, 0x0A, 0x16}},   // ﾄ
    {65413, {0x40, 0x40, 0x20, 0x10, 0x0E}},   // ﾅ
    {65414, {0x70, 0x0E, 0x00, 0x07, 0x78}},   // ﾆ
    {65415, {0x3F, 0x44, 0x44, 0x44, 0x44}},   // ﾇ
    {65416, {0x02, 0x42, 0x42, 0x22, 0x1E}},   // ﾈ
    {65417, {0x08, 0x04, 0x02, 0x0C, 0x30}},   // ﾉ
    {65418, {0x32, 0x02, 0x7F, 0x02, 0x32}},   // ﾊ
    {65419, {0x02, 0x12, 0x22, 0x52, 0x0E}},   // ﾋ
    {65420, {0x20, 0x2A, 0x2A, 0x2A, 0x40}},   // ﾌ
    {65421, {0x30, 0x2C, 0x22, 0x28, 0x70}},   // ﾍ
    {65422, {0x40, 0x44, 0x28, 0x10, 0x2E}},   // ﾎ
    {65423, {0x0A, 0x0A, 0x3E, 0x4A, 0x4A}},   // ﾏ
    {65424, {0x08, 0x7C, 0x08, 0x28, 0x18}},   // ﾐ
    {65425, {0x04, 0x7F, 0x04, 0x14, 0x0C}},   // ﾑ
    {65426, {0x48, 0x48, 0x48, 0x78, 0x40}},   // ﾒ
    {65427, {0x42, 0x42, 0x42, 0x7E, 0x40}},   // ﾓ
    {65428, {0x54, 0x54, 0x54, 0x7C, 0x00}},   // ﾔ
    {65429, {0x4A, 0x4A, 0x4A, 0x4A, 0x7E}},   // ﾕ
    {65430, {0x04, 0x45, 0x45, 0x25, 0x1C}},   // ﾖ
    {65431, {0x0E, 0x40, 0x40, 0x20, 0x1E}},   // ﾗ
    {65432, {0x7E, 0x00, 0x7E, 0x40, 0x38}},   // ﾘ
    {65433, {0x7E, 0x40, 0x40, 0x20, 0x10}},   // ﾙ
    {65434, {0x7E, 0x42, 0x42, 0x42, 0x7E}},   // ﾚ
    {65435, {0x0E, 0x42, 0x42, 0x22, 0x1E}},   // ﾛ
    {65436, {0x0A, 0x4A, 0x4A, 0x2A, 0x1E}},   // ﾜ
    {65437, {0x42, 0x42, 0x40, 0x20, 0x1C}},   // ﾝ
    {65438, {0x02, 0x04, 0x01, 0x02, 0x00}},   // ﾞ
    {65439, {0x07, 0x05, 0x07, 0x00, 0x00}},   // ﾟ
  };
}